Cactuar (Final Fantasy IX)
The Cactuar is an enemy from Final Fantasy IX found on the Outer Continent's Donna Plains and the Forgotten Continent's Mainland. It will hide underground when attacked. While underground, it will cast Confuse and Counter all attacks with 1000 Needles. If killed while underground, it will still counterattack before dying. It is safer to wait until it either appears above ground or escapes. It is recommended to do high damage-dealing attacks when it is underground, or have everyone defend and Vivi use Focus. Iai Strike, LV5 Death and Odin can defeat a Cactuar with ease, and so can Fire-elemental attacks such as Fira and Ifrit. Heat and Freeze are also effective. Quina can learn 1000 Needles from eating a Cactuar, which is reasonably powerful when it is first encountered. Stats AI script Use global variable deathneedlesflag Function Cactuar_Init :set appearswitch = GetRandom & 1 Function Cactuar_Loop :if ( !initflag ) ::if ( #SV_EnemyTeam 1 ) :::set isalone = 1 ::set SV_FunctionEnemyMODEL_OFF = 1 ::set SV_FunctionEnemySHADOW = 0 ::set initflag = 1 :if ( lastattack Haste && ( !( #Matching(lasttargetSTATUS_CURRENT, CONFUSE) ) || #Matching(lasttargetSTATUS_CURRENT, HASTE) || #Matching(lasttargetSTATUS_AUTO, HASTE) || #Matching(lasttargetSTATUS_CURRENT, PETRIFY | VENOM | DEATH | STOP) ) ) ::set SV_FunctionEnemyPREVENT_ATTACK = 1 ::set lastattack = 255 :Wait( 1 ) :loop Function Cactuar_ATB :if ( #( SV_FunctionEnemySTAND_ANIMATION 0 ) ) ::set appearswitch = ( ~appearswitch ) & 1 ::if ( appearswitch ) :::set SV_Target = SV_FunctionEnemy :::set lastattack = Appearance :::Attack( Appearance ) ::else :::set SV_Target = RandomInTeam(SV_PlayerTeam) :::set lasttarget = SV_Target :::set lastattack = Confuse :::Attack( Confuse ) :else ::set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeamSTATUS_CURRENT, PETRIFY | VENOM | DEATH | STOP | HASTE) & NotMatching(SV_PlayerTeamSTATUS_AUTO, HASTE) & Matching(SV_PlayerTeamSTATUS_CURRENT, CONFUSE) ) ::if ( SV_Target != 0 ) :::set lasttarget = SV_Target :::set lastattack = Haste :::Attack( Haste ) ::else :::set SV_Target = RandomInTeam(SV_PlayerTeam) :::set lasttarget = SV_Target :::set lastattack = Head Attack :::Attack( Head Attack ) Function Cactuar_CounterEx :if ( SV_FunctionEnemy GetAttacker ) ::set SV_FunctionEnemyPREVENT_ATTACK = 1 ::set lastattack = 255 ::if ( GetAttackId Appearance ) :::set SV_FunctionEnemySHADOW = 1 ::if ( GetAttackId Hide ) :::set SV_FunctionEnemySHADOW = 0 Function Cactuar_Counter :if ( ( GetAttackCommandId Skill ) && ( GetAttackId What's That?! ) ) ::return :if ( ( ( GetAttackCommandId Steal ) || ( GetAttackCommandId Item ) ) || ( GetAttackCommandId Cook ) ) ::return :if ( isalone && ( GetAttackCommandId != Attack) ) ::return :set SV_Target = GetAttacker :if ( !( #( SV_PlayerTeam & SV_Target ) ) ) ::return :if ( SV_FunctionEnemySTAND_ANIMATION 0 ) ::Attack( 1,000 Needles ) :else ::set SV_Target = SV_FunctionEnemy ::Attack( Hide ) Function Cactuar_Death :if ( deathneedlesflag ) ::return :if ( #Matching(SV_FunctionEnemySTATUS_CURRENT, SILENCE) ) ::return :if ( #( SV_FunctionEnemySTAND_ANIMATION 1 ) ) ::return :set SV_Target = GetAttacker :if ( !( #( SV_PlayerTeam & SV_Target ) ) ) ::return :Attack( 1,000 Needles ) :set deathneedlesflag = 1 Tetra Master Gallery FFIX Poison Status.png|Cactuar in battle. FFIX Appearance.png|Appearance. FFIX Hide.png|Hide. FFIX Head Attack.png|Head Attack. Etymology de:Kaktor (FFIX) Category:Enemies in Final Fantasy IX Category:Final Fantasy IX Edible Enemies